package com.settlement.system.model.entity.common;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 爱库存-差异报表
 * @author Ximi
 * @since 2020-06-30
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(fillBackgroundColor = 9,fillForegroundColor = 9)
@HeadRowHeight(value = 20)
@HeadFontStyle(fontHeightInPoints = 14)
public class TblAkcDifferentReport extends BaseModel implements Serializable {


    /**
     * 店铺编码
     */
    @ExcelProperty(value = "店铺编码")
    @ApiModelProperty(value = "店铺编码",required = true)
    @NotNull(message = "店铺编码不能为空")
    private String shopNo;

    /**
     * 店铺名称
     */
    @ExcelProperty(value = "店铺名称")
    @ApiModelProperty(value = "店铺名称")
    private String shopName;

    /**
     * 活动ID号
     */
    @ExcelProperty(value = "活动ID号")
    @ApiModelProperty(value = "活动ID号",required = true)
    @NotNull(message = "活动ID号不能为空")
    private String actionId;

    /**
     * 外部订单号
     */
    @ExcelProperty(value = "外部订单号")
    @ApiModelProperty(value = "外部订单号",required = true)
    @NotNull(message = "外部订单号不能为空")
    private String thridOrderNo;

    /**
     * 爱库存_数量
     */
    @ExcelProperty(value = "爱库存_数量")
    @ApiModelProperty(value = "爱库存_数量",required = true)
    @NotNull(message = "爱库存_数量不能为空")
    private Integer akcQty;

    /**
     * 爱库存_金额
     */
    @ExcelProperty(value = "爱库存_金额")
    @ApiModelProperty(value = "爱库存_金额",required = true)
    @NotNull(message = "爱库存_金额不能为空")
    private BigDecimal akcAmount;

    /**
     * INT_数量
     */
    @ExcelProperty(value = "INT_数量")
    @ApiModelProperty(value = "INT_数量")
    private Integer intQty;

    /**
     * INT_金额
     */
    @ExcelProperty(value = "INT_金额")
    @ApiModelProperty(value = "INT_金额")
    private BigDecimal intAmount;

    /**
     * 差异数量
     */
    @ExcelProperty(value = "差异数量")
    @ApiModelProperty(value = "差异数量")
    private Integer differentQty;

    /**
     * 差异金额
     */
    @ExcelProperty(value = "差异金额")
    @ApiModelProperty(value = "差异金额")
    private BigDecimal differentAmount;

    /**
     * 机器人确认时间
     */
    @ExcelProperty(value = "机器人确认时间")
    @ApiModelProperty(value = "机器人确认时间",hidden = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date robotComfirmDate;

}
